Automatic Diagnosis of Student Programs in Programming Learning Environments
نویسندگان
چکیده
This paper describes a method to automate the diagnosis of students' programming errors in programming learning environments. In order to recognize correct students' programs as well as to identify errors in incorrect student programs, programs are represented using an improved de pendence graph representation. The student pro gram is compared with a specimen program (also called a model program) at the semantic level after both are standardized by program transformations. The method is implemented using Smalltalk in SIPLeS-II, an automatic pro gram diagnosis system for Samlltalk program ming learning environments. The system has been tested on approximately 330 student pro grams for various tasks. Experimental results show that, using the method, semantic errors in a student program can be identified rigorously and safely. Semantics-preserving variations in a stu dent program can be eliminated or accommo dated. The tests also show that the system can identify a wide range of errors as well as pro duce indications of the corrections needed. This method is essential for the development of pro gramming learning environments. The tech niques of the improved program dependence graph representation, program standardization by transformations, and semantic level program comparison are also useful in other research fields including program understanding and software maintenance.
منابع مشابه
Transformation-Based Diagnosis of Student Programs for Programming Tutoring Systems
A robust technology that automates the diagnosis of students’ programs is essential for programming tutoring systems. Such technology should be able to determine whether programs coded by a student are correct. If a student’s program is incorrect, the system should be able to pinpoint errors in the program as well as explain and correct the errors. Due to the difficulty of this problem, no exis...
متن کاملTowards Adaptive Learning Environments
Existing intelligent learning environments for programming represent a step towards comprehensive adaptive learning environments that support all activities in learning programming. In most of these systems, however, only the tutoring component is adaptive. The user interface usually looks the same for the novice and for the advanced learner, while the student's knowledge of the subject matter ...
متن کاملModel Based Diagnosis in ITS for Programming with Pedagogical Patterns
It is not easy for a student to develop programming skills and learn how to construct their own problem solving algorithms. Well designed materials and tools can guide programming students knowledge and skill construction. Such tools may allow students to acquire better and faster the necessary programming skills. In this paper we show the results of some experiments realized on a set of faulty...
متن کاملAutomatic assessment of elementary Standard ML programs using Ceilidh
Ceilidh is an interactive environment which supports computer programming course organisation, practical work and assessment. This paper describes its use to support a first level programming course for the functional language Standard ML. Automated program assessment systems are surveyed and the general Ceilidh approach to automatic assessment is discussed. Extensions to Ceilidh to assess Stan...
متن کاملTowards Automatic Hint Generation for a Data- Driven Novice Programming Tutor
AND V.I.I. JOHN STAMPER Carnegie Mellon University, USA ________________________________________________________________________ Hint annotation is one of the most time consuming components of developing intelligent tutoring systems. One approach is to use educational data mining and machine learning techniques to automate the creation of hints from student problem-solving data. This paper desc...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1999